// #include<iostream>
// #include<vector>

// using namespace std;
// int n , q;
// const int N = 1e5 + 10;
// vector<int>a(N+1);
// int s , i , j , k;
// int main()
// {
//     cin >> n >> q;
//     while(q--)
//     {
//         cin >> s >> i >> j;
//         if(s == 1)
//         {
             //cin >> k;
//             if(k == 0) a[i][j] = 0;
//             else
//             {
//                 a[i][j] += k;
//             }
//         }
//         else
//         {
//             cout << a[i][j] << endl;
//         }
//     }
//     return 0;
// }
#include<iostream>
#include<vector>

using namespace std;

const int N = 1e5 + 10;
int n , q;
vector<int>a[N];

int main()
{
    cin >> n >> q;
    while(q--)
    {
        int op , i , j , k;
        cin >> op >> i >> j;
        if(op == 1)
        {
            cin >> k;
            if(a[i].size() <= j)
            {
                a[i].resize(j + 1);
            }
            a[i][j] = k;
        }
        else
        {
            cout << a[i][j] << endl;
        }
    }
    return 0;
}